Referring to FIG. 1, a block diagram of a conventional camera color processing pipeline 20 is shown. Color correction is commonly used in digital cameras because a spectral response of the camera photo-receptors does not match a desired response in an output color space. The color correction is used to produce a picture that has accurate and aesthetically pleasing colors.
Several conventional color correction methods are currently available. Some methods use a matrix (M) multiplication to calculate an RGB output vector from a red, green, blue (RGB) input vector, such as:R_out=M11×R_in+M12×G_in+M13×B_inG_out=M21×R_in+M22×G_in+M23×B_inB_out=M31×R_in+M32×G_in+M33×B_inFor example, the Adobe “Digital Negative (DNG) Specifications” file format specifies color correction by means of a matrix. Other conventional color correction methods use a three-dimensional lookup table, with interpolation between the table entries. For example, U.S. Pat. No. 4,275,413 describes a method for tetrahedral interpolation.
Different color corrections are commonly used for video and still pictures. The reason is that an output space for the video is typically different from an output space for the still pictures. The still pictures typically uses the sRGB color space whereas video typically uses either the ITU-R Recommendation BT.601 or the ITU-R Recommendation BT.709.
A conventional color space conversion between an RGB color space and a YUV color space is accomplished by matrix multiplication and adding offsets. The color space conversion is reversible, except for minor differences that result from rounding intermediate and final results. The specific formulae converting between the RGB color space and the YUV color space are different for converting video and converting still pictures. Moreover, a tone curve used for correcting video can be different from the tone curve used for correcting still pictures. Therefore, the YUV data in a video sequence differs from that in still pictures in three ways: (i) the meaning of the YUV sample values relative to RGB amplitudes is different, (ii) the underlying RGB values describe different light sources and (iii) different tone curves.
Referring to FIG. 2, a block diagram of a conventional still camera 30 is shown. The still camera 30 or a conventional hybrid video/still camera can have a video connector that allows the camera 30 to display still pictures on a video monitor 32. The camera 30 commonly performs matrix and offset computations to make the still picture colors appear accurate and/or pleasing when displayed on the monitor 32.
While conventional matrix and offset adjustments may make colors accurate when still pictures are played back on the monitor 32, it would be desirable to make the colors of a still picture played back on the monitor 32 even more accurate.